#!/usr/bin/env ruby

# Copyright (c) 2010-2012 Microsoft Corp.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#	http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

require 'rubygems'
require 'ruby-aws'

module MOS
class Assignment
	attr_accessor :assignmentId, :status, :workerId, :submitTime, :workingTime, :headphones
	attr_reader   :answer

	def initialize(answer, input)
		@assignmentId = answer.delete(:AssignmentId)
		@status       = answer.delete(:Status)
		@workerId     = answer.delete(:WorkerId)
		@submitTime   = answer.delete(:SubmitTime)
		@workingTime  = answer.delete(:WorkingTime)
		@bonus        = answer.delete(:Bonus)
		@headphones   = answer.delete(:headphones)
		@comments     = answer.delete(:comments)
				answer.delete(:reference)

		@answer = {}
		answer.each_pair do |identifier, score|
			sentence = input[identifier][:sentence].to_sym
			algorithm = input[identifier][:algorithm].to_sym
			@answer[algorithm] ||= {}
			@answer[algorithm][sentence] = score
		end
	end

end	# Assignment
end	# MOS

